package NET.webserviceX.www;

import java.io.ByteArrayInputStream;
import java.rmi.RemoteException;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
import javax.xml.rpc.ServiceException;

public class Meteo {

	public static void main(String[] args) {
		
		GlobalWeather gw = new GlobalWeatherLocator(); // get a service instance
		try {
			GlobalWeatherSoap gwss = gw.getGlobalWeatherSoap();
			System.out.println(gwss.getWeather("Paris / Le Bourget", "France"));
			
			/* METHODE 1 : ON UTILISE XJC */
			JAXBContext context = JAXBContext.newInstance("NET.webserviceX.www");
			
			Unmarshaller u = context.createUnmarshaller();
			CurrentWeather cw = (CurrentWeather) u.unmarshal(new ByteArrayInputStream(gwss.getWeather("Paris / Le Bourget", "France").replace("16", "8").getBytes()));
			
			System.out.println("\n\nJ'interroge maintenant mon objet Java pour connaître la météo :");
			
			System.out.println("Voici la météo de "+cw.getLocation());
			
			System.out.println("Ce bulletin date de "+cw.getTime());
			
			System.out.println("Le vent vient "+cw.getWind());
			
			System.out.println("La temperature est de "+cw.getTemperature());
			
			System.out.println("Le ciel est "+cw.getSkyConditions());
			
			System.out.println("Votre baromètre doit afficher : "+cw.getPressure());
			
			System.out.println("L'hygrométrie est de : "+cw.getRelativeHumidity());
			
			System.out.println("Le point de rosée est à : "+cw.getDewPoint());
			
		} catch (ServiceException e) {
			e.printStackTrace();
		} catch (RemoteException e) {
			e.printStackTrace();
		} catch(Exception e1) {
			e1.printStackTrace();
		}

	}

}
